home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 13 / AMIGAplus Sonderheft 13 (1998)(ICP)(DE)[!].iso / rexx / printdir.filer < prev    next >
Text File  |  1996-07-10  |  1KB  |  83 lines

  1. /* 
  2.  
  3.    $VER: PrintDir.filer 2.2 (10.7.95)
  4.  
  5.    Author:
  6.     Matthias Scheler <tron@lyssa.owl.de>
  7.  
  8.    Function:
  9.     Opens a string requester, asks for a output file and writes a listing of
  10.     the selected directory listview to the output file.
  11.  
  12.    History:
  13.     2.1   removed unnecessary ADDRESS 'FilerRexx'
  14.     2.2   removed unnecessary printer command
  15.  
  16.    Call:
  17.     PrintDir
  18.  
  19.    Example for "Filer.RC":
  20.     BUTTON ...,...,"Print Dir","PrintDir"
  21.  
  22. */
  23.  
  24. OPTIONS RESULTS
  25.  
  26. GETSOURCEPATH
  27. IF RESULT="RESULT" THEN EXIT 5
  28. SourceDir=RESULT
  29.  
  30. LOCKFILER
  31. IF RESULT="RESULT" THEN EXIT 5
  32. Key=Result
  33.  
  34. PANEL OFF
  35.  
  36. 'STATUS Print directory'
  37.  
  38. 'SETSTRING PRT:'
  39. GETSTRING 'Choose file, or printer:'
  40. IF RESULT="RESULT" THEN
  41.  DO
  42.   PANEL ON
  43.   UNLOCKFILER Key
  44.  
  45.   EXIT 5
  46.  END
  47. TargetName=RESULT
  48.  
  49. IF OPEN('Prt',TargetName,'WRITE')=0 THEN
  50.  DO
  51.   PANEL ON
  52.   UNLOCKFILER Key
  53.  
  54.   ALERTBOX "Couldn't open output file !"
  55.   EXIT 5
  56.  END
  57.  
  58. 'STATUS Printing directory "'||SourceDir||'" to "'||TargetName||'" ...'
  59.  
  60. CALL WRITELN('Prt','Directory "'||SourceDir||'":')
  61.  
  62. GETNUMENTRIES
  63. Num=RESULT
  64. DO Index=1 TO Num
  65.  GETNAME Index
  66.  Name=RESULT
  67.  GETINFO Index
  68.  Info=RESULT
  69.  
  70.  IF UPPER(LEFT(Name,1))='F' THEN Line=LEFT(SUBSTR(Name,2)||'                              ',31)
  71.  ELSE Line=X2C(1B)||'[1m'||LEFT(SUBSTR(Name,2)||'                              ',31)||X2C(1B)||'[0m'
  72.  
  73.  CALL WRITELN('Prt',Line||Info)
  74. END
  75.  
  76. CALL WRITECH('Prt',X2C(C))
  77. CALL CLOSE('Prt')
  78.  
  79. 'HISTORY Printed directory "'||SourceDir||'" to "'||TargetName||'".'
  80.  
  81. PANEL ON
  82. UNLOCKFILER Key
  83.